//参数
//	obj:要执行动画的对象
//	target:执行动画的目标位置
//	speed：移动的速度
//	attr :要修改的动画样式
// callback:回调函数
function move(obj, target, speed, attr, callback) {

	clearInterval(obj.timer);
	var current = parseInt(getStyle(obj, "left"));
	//判断speed的正负指
	//如果从0向800移动，则speed为正
	//如果从800向0移动，则speed为负
	if (current > target) {
		speed = -speed;
	}
	//开启一个定时器来实现动画效果
	obj.timer = setInterval(function() {

		//获取box1原来的left值
		var oldvalue = parseInt(getStyle(obj, attr));
		// alert(getStyle(divbox1,"left"))
		//修改
		var newValue = oldvalue + speed;
		//如果是往左移，需要判断newvalue是否小于target
		//如果是往右移，需要判断newvalue是否大于target
		if (speed < 0 && newValue < target || speed > 0 && newValue > target) {
			newValue = target;
		}

		//把新值给box1
		obj.style[attr] = newValue + "px";

		//当元素移动到800px时，使其停止动画
		if (newValue == target) {
			clearInterval(obj.timer);
		}
	}, 30)
	callback & callback();
}

function getStyle(obj, name) {
	if (getComputedStyle) {
		return getComputedStyle(obj, null)[name];
	} else {
		return boj.currentStyle[name];
	}
}
btn01.onclick = function() {
	box.className = "b2";
}
//定义一个函数，来向一个元素添加指定的class属性值
function addClass(obj, cn) {
	if (hasClass(obj, cn)) {
		obj.className += "" + cn
	}
}
//判断一个元素中是否含有指定的class属性值
function hasClass(obj, cn) {
	var reg = new RegExp("\\b" + cn + "\\b");
	return reg.test(obj.className);
}
//删除一个元素中指定的className
function removeClass(obj, cn) {
	var reg = new RegExp("\\b" + cn + "\\b");
	obj.className = obj.className.replace(reg, "");
}
//切换一个类
//如果元素中具有该类，则删除
//如果没有则添加
function toggleClass(obj, cn) {
	if (hasClass(obj.cn)) {
		removeClass(obj.cn);
	} else {
		addClass(obj, cn);
	}
}
